/**
 * websocket 代码
 */
import http from 'http'

import { WebSocketServer } from 'ws'

export default (app) => {
  // 创建一个http服务
  const server = http.createServer(app)

  // 基于http服务，创建一个 websocket 服务
  const wss = new WebSocketServer({
    server: server
  })

  wss.on('connection', (ws) => {

    console.log('连接了');
    // console.log(ws);
    // 监控消息
    wss.on('message', (event) => {
      console.log('客户端发送消息来了');
      console.log(event);
    })



    wss.on('error', () => {
      console.log('报错了');
    })

    // ws.send('服务端发送一个消息')
    ws.send(JSON.stringify({
      code: 1,
      data: 2
    }))
  })

  // 必须使用这个server 监听的端口， 不能复用之前 expersss 实力 app.listen 监听的3001端口

  // 如果普通的http服务，已经监听了一个端口号，这里的 server 就不能用之前那个，比如 3001
  server.listen(3002, () => {
    console.log('websocket 监听使用3002 端口');
  })
}


